/*
 * @Copy.Right (c)2025.好买气电子商务有限公司
 * @Department 技术研发部
 */
package com.xq.tmall.entity;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.xq.tmall.util.TradingDateUtil;

import java.io.Serializable;

/**
 *
 * @TableName stock
 * @author 74449
 * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
 */
public class Stock implements Serializable {
    /**
     * @DatabaseColumn code
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private String code;

    /**
     * @DatabaseColumn type
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private String type;

    /**
     * @DatabaseColumn name
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private String name;

    /**
     * @DatabaseColumn price
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double price;

    /**
     * @DatabaseColumn yesterday_price
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double yesterdayPrice;

    /**
     * @DatabaseColumn fluctuate
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double fluctuate;

    /**
     * @DatabaseColumn today_max
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double todayMax;

    /**
     * @DatabaseColumn today_min
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double todayMin;

    /**
     * @DatabaseColumn price_date
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Long priceDate;

    /**
     * @DatabaseColumn industry
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private String industry;

    /**
     * @DatabaseColumn total_value
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double totalValue;

    /**
     * @DatabaseColumn pb
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double pb;

    /**
     * @DatabaseColumn roe
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double roe;

    /**
     * @DatabaseColumn bvps
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double bvps;

    /**
     * @DatabaseColumn pes
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double pes;

    /**
     * @DatabaseColumn ped
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double ped;

    /**
     * @DatabaseColumn pettm
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double pettm;

    /**
     * 流通市值
     */
    private Double goPettm;

    /**
     * @DatabaseColumn dividend
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private Double dividend;


    private Double amplitude;

    /**
     * 竞价量
     */
    private Double biddingVolume;

    /**
     * 竞价金额
     */
    private Double bidPrice;

    public Stock() {

    }

/*    public Stock(JSONObject data) {
        this.code = data.getString("symbol").replaceAll("\\D+", "");
        this.type = data.getString("symbol").substring(0, 2);
        this.name = data.getString("name");
        this.price = data.getDouble("current");
        this.fluctuate = data.getDouble("chg");
        this.priceDate = Long.valueOf(TradingDateUtil.getDateTime());
        this.industry = String.valueOf(Double.valueOf(data.getString("percent")));
    }*/
   public Stock(JSONObject data) {
        this.code = data.getString("f12");
        String type = data.getString("f12").substring(0, 2);
        if("60".equals(type)){
            this.type = "SH";
        }else if("00".equals(type)){
            this.type = "SZ";
        }else{
            this.type = "CY";
        }
        this.name = data.getString("f14");
        this.price = data.getDouble("f2")/100;
        this.yesterdayPrice = data.getDouble("f18")/100;
        this.fluctuate = data.getDouble("f4")/100;
        this.todayMax = data.getDouble("f15")/100;
        this.todayMin = data.getDouble("f16")/100;
        this.priceDate =Long.valueOf(TradingDateUtil.getDateTime());
        this.industry = String.valueOf(Double.valueOf(data.getString("f3")) / 100);
        this.totalValue = data.getDouble("f17")/100;
        this.pb = data.getDouble("f8")/100;
        this.roe = data.getDouble("f9")/100;
        this.bvps = data.getDouble("f5")/100;
        this.pes = data.getDouble("f6")/100000000;
        this.ped = data.getDouble("");
        this.pettm = data.getDouble("");
        this.dividend = data.getDouble("f10")/100;
        this.amplitude = data.getDouble("f7")/100;
        this.biddingVolume = data.getDouble("f5")/100;
    }

    /**
     * @DatabaseTable stock
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    private static final long serialVersionUID = 654155450205671680L;

    /**
     * 获取code的值
     *
     * @return stock.code
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public String getCode() {
        return code;
    }

    /**
     * 设置code的值
     *
     * @param code (stock.code)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    /**
     * 获取type的值
     *
     * @return stock.type
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public String getType() {
        return type;
    }

    /**
     * 设置type的值
     *
     * @param type (stock.type)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setType(String type) {
        this.type = type == null ? null : type.trim();
    }

    /**
     * 获取name的值
     *
     * @return stock.name
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public String getName() {
        return name;
    }

    /**
     * 设置name的值
     *
     * @param name (stock.name)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setName(String name) {
        this.name = name == null ? null : name.trim();
    }

    /**
     * 获取price的值
     *
     * @return stock.price
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getPrice() {
        return price;
    }

    /**
     * 设置price的值
     *
     * @param price (stock.price)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setPrice(Double price) {
        this.price = price;
    }

    /**
     * 获取yesterday_price的值
     *
     * @return stock.yesterday_price
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getYesterdayPrice() {
        return yesterdayPrice;
    }

    /**
     * 设置yesterday_price的值
     *
     * @param yesterdayPrice (stock.yesterday_price)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setYesterdayPrice(Double yesterdayPrice) {
        this.yesterdayPrice = yesterdayPrice;
    }

    /**
     * 获取fluctuate的值
     *
     * @return stock.fluctuate
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getFluctuate() {
        return fluctuate;
    }

    /**
     * 设置fluctuate的值
     *
     * @param fluctuate (stock.fluctuate)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setFluctuate(Double fluctuate) {
        this.fluctuate = fluctuate;
    }

    /**
     * 获取today_max的值
     *
     * @return stock.today_max
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getTodayMax() {
        return todayMax;
    }

    /**
     * 设置today_max的值
     *
     * @param todayMax (stock.today_max)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setTodayMax(Double todayMax) {
        this.todayMax = todayMax;
    }

    /**
     * 获取today_min的值
     *
     * @return stock.today_min
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getTodayMin() {
        return todayMin;
    }

    /**
     * 设置today_min的值
     *
     * @param todayMin (stock.today_min)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setTodayMin(Double todayMin) {
        this.todayMin = todayMin;
    }

    /**
     * 获取price_date的值
     *
     * @return stock.price_date
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Long getPriceDate() {
        return priceDate;
    }

    /**
     * 设置price_date的值
     *
     * @param priceDate (stock.price_date)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setPriceDate(Long priceDate) {
        this.priceDate = priceDate;
    }

    /**
     * 获取industry的值
     *
     * @return stock.industry
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public String getIndustry() {
        return industry;
    }

    /**
     * 设置industry的值
     *
     * @param industry (stock.industry)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setIndustry(String industry) {
        this.industry = industry == null ? null : industry.trim();
    }

    /**
     * 获取total_value的值
     *
     * @return stock.total_value
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getTotalValue() {
        return totalValue;
    }

    /**
     * 设置total_value的值
     *
     * @param totalValue (stock.total_value)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setTotalValue(Double totalValue) {
        this.totalValue = totalValue;
    }

    /**
     * 获取pb的值
     *
     * @return stock.pb
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getPb() {
        return pb;
    }

    /**
     * 设置pb的值
     *
     * @param pb (stock.pb)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setPb(Double pb) {
        this.pb = pb;
    }

    /**
     * 获取roe的值
     *
     * @return stock.roe
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getRoe() {
        return roe;
    }

    /**
     * 设置roe的值
     *
     * @param roe (stock.roe)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setRoe(Double roe) {
        this.roe = roe;
    }

    /**
     * 获取bvps的值
     *
     * @return stock.bvps
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getBvps() {
        return bvps;
    }

    /**
     * 设置bvps的值
     *
     * @param bvps (stock.bvps)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setBvps(Double bvps) {
        this.bvps = bvps;
    }

    /**
     * 获取pes的值
     *
     * @return stock.pes
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getPes() {
        return pes;
    }

    /**
     * 设置pes的值
     *
     * @param pes (stock.pes)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setPes(Double pes) {
        this.pes = pes;
    }

    /**
     * 获取ped的值
     *
     * @return stock.ped
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getPed() {
        return ped;
    }

    /**
     * 设置ped的值
     *
     * @param ped (stock.ped)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setPed(Double ped) {
        this.ped = ped;
    }

    /**
     * 获取pettm的值
     *
     * @return stock.pettm
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getPettm() {
        return pettm;
    }

    /**
     * 设置pettm的值
     *
     * @param pettm (stock.pettm)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setPettm(Double pettm) {
        this.pettm = pettm;
    }


    /**
     * 获取dividend的值
     *
     * @return stock.dividend
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public Double getDividend() {
        return dividend;
    }

    /**
     * 设置dividend的值
     *
     * @param dividend (stock.dividend)
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    public void setDividend(Double dividend) {
        this.dividend = dividend;
    }


    public Double getAmplitude() {
        return amplitude;
    }

    public void setAmplitude(Double amplitude) {
        this.amplitude = amplitude;
    }

    public Double getGoPettm() {
        return goPettm;
    }

    public void setGoPettm(Double goPettm) {
        this.goPettm = goPettm;
    }

    public Double getBiddingVolume() {
        return biddingVolume;
    }

    public void setBiddingVolume(Double biddingVolume) {
        this.biddingVolume = biddingVolume;
    }

    public Double getBidPrice() {
        return bidPrice;
    }

    public void setBidPrice(Double bidPrice) {
        this.bidPrice = bidPrice;
    }

    /**
     * toString for stock
     * @return String
     * @Creator Sieger.MybatisGenerator 【严禁自行删除、修改操作】
     */
    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}